Öncelikle Context'in ne olduğunu öğrenmen daha faydalı olur diye düşünüyorum. Burada anlatılıyor. Kısaca tanımlamak gerekirse uygulama hakkında bilgiler içermektedir. Context ile Activity başlatma, Broadcast ve Receiver işlemlerini gerçekleştirilebilir.
Şimdi gelelim soruda geçen Context olayının çözümüne;
[code]Picasso.with(this).load(URL).into(imageView); [/code]
Burada yer alan "this" Context yani Activity bilgisidir. Yani sana resim indirme işlemini hangi Activity içerisinde yaptığını soruyor. Bunun için yazdığın Adapter içerisine Context bilgisini gönderip gelen Context'i buradaki "this" yerine yazarsan problemin çözülecektir.
Activity içerisinde Adapter'a Context bilgisi gönderme:
Burada işlemlerin yapıldığı sınıf MainActivity.java sınıfıdır. Sen işlem yaptığın sınıfında adını yazabilirsin.
[code]final ListView listview = (ListView)findViewById(R.id.list_view);
listview.setAdapter(new ImageDownloadAdapter(MainActivity.this));[/code]
Fragment içerisinde Adapter'a Context bilgisi gönderme:
Burada işlemlerin yapıldığı sınıf MainActivity.java sınıfıdır. Sen işlem yaptığın sınıfında adını yazabilirsin.
[code]final ListView listview = (ListView)findViewById(R.id.list_view);
listview.setAdapter(new ImageDownloadAdapter(getActivity()));[/code]
Gönderilen Context'i Adapter içerisinde almak
[code]class ImageDownloadAdapter extends BaseAdapter(){
Context context;
public ImageDownloadAdapter(Context context){
this.context = context;
}
@Override public int getCount() {
//içerisini kendi adapter'ına göre doldurursun
}
@Override public String getItem(int position) {
//içerisini kendi adapter'ına göre doldurursun
}
@Override public long getItemId(int position) {
return position;
}
@Override public View getView(int position, View convertView, ViewGroup parent) {
Picasso.with(context).load(URL).into(imageView);
return convertView;
}
}[/code]
Yukarıdaki kod olayın kafanda oluşması için yazılmıştır. Gerekli düzenlemeleri kendine göre yapabilirsin.